# 数组的索引和切片
# 切片使用冒号（:）来表示其起始位置、结束位置和步长。切片的语法为
# 切片不包含结束位置，左闭右开
import numpy as np

score = np.array([1, 2, 3, 4])
print(score[0:2])

print(score[-1])
print(score[[0, 3]])
print(score[:3])
print(score[2:])
print(score[2:3])

Score2 = np.array([[69, 40, 30], [80, 90, 40], [90, 100, 50], [40, 20, 99], [60, 60, 66],
                   [20, 66, 44], [90, 88, 56], [94, 99, 67], [90, 20, 70], [99, 50, 86]])

print(Score2.shape)

print('所有同学的语文成绩为', Score2[:, 0])
print('学号为1、2、3的同学的所有科目成绩为', Score2[:3, :])
print('学号为1、2、3的同学的语文和数学成绩为', Score2[:3, :2])

row = ['美的', '格力', '海尔', '西门子']
data = np.array([[3800, 1, 15], [4000, 8, 20], [5000, 2, 30], [4000, 20, 50]])
bool_list = [False, False, True, False]
print(data[bool_list])

Score = np.array([69, 80, 90, 40, 60, 20, 90, 94, 90, 99])  # 学生的成绩
con = Score > 60  # 筛查出分数大于60的分数
print('条件的布尔列表', con)
print('大于60的学生成绩', Score[con])  # 查看大于60分的学生成绩
print('大于60的学生数组下标', np.where(Score > 60))
